import request from "@/utils/request"

// 登录时 参数的类型
export interface LoginParamType{
  username: string,
  password: string
}

// 登录的返回值类型
export interface LoginResultType{
  token:string
}

// 获取用户信息的返回值类型
export interface UserInfoType {
  routes:string[], // 意思是 返回值有routes 是个数组 里面都是字符串
  buttons:string[],
  roles:string[],
  name:string,
  avatar:string
}


// 1. 登录请求
export const reqLogin = (userInfo:LoginParamType) => (
  request.post<null,LoginResultType>( // request.post<null,LoginResultType> 意思是限制post请求 返回值的类型
    `/admin/acl/index/login`,
    userInfo
  )
)

// 2. 退出登录
export const reqLogout = () =>(
  request.post<null,null>(`/admin/acl/index/logout`)
)

// 3. 获取用户信息
export const reqUserInfo = () =>(
  request.get<null,UserInfoType>(`/admin/acl/index/info`)
)
